package org.springmole.business.dao;

import org.springmole.business.bean.Result;
import org.springmole.business.bean.hibernate.CollectionData;
import org.springmole.business.bean.hibernate.EntityData;
import org.springmole.business.bean.hibernate.SecondLevelData;
import org.springmole.business.bean.hibernate.HibernateResultData;
import org.springmole.business.bean.hibernate.QueryData;
import org.springmole.business.bean.hibernate.SummaryData;


/**
 * Define all access methods to Hibernate informations.
 * The implementor is the only class to import Hibernate library.
 */
public interface HibernateDao {

	public Result<HibernateResultData<EntityData>> getEntityStatistic();
	
	public Result<HibernateResultData<QueryData>> getQueryStatistic();
	
	public Result<HibernateResultData<CollectionData>> getCollectionStatistic();
	
	public Result<HibernateResultData<SecondLevelData>> getSecondLevelDataStatistics();
	
	
	public Result<HibernateResultData<SummaryData>> getSummaryDataStatistics();
}
